home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / OverTree.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  2.3 KB  |  78 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.xml.BaseDeclaration;
  4. import java.util.Enumeration;
  5. import java.util.Vector;
  6. import javax.swing.JTree;
  7. import javax.swing.tree.DefaultMutableTreeNode;
  8. import javax.swing.tree.TreePath;
  9.  
  10. class OverTree extends JTree {
  11.    OverTreeModel model;
  12.  
  13.    OverTree(OverTreeModel var1) {
  14.       super(var1);
  15.       this.model = var1;
  16.    }
  17.  
  18.    TreePath getPathForDecl(BaseDeclaration var1) {
  19.       DefaultMutableTreeNode var2 = this.model.findNode(var1);
  20.       return var2 == null ? null : new TreePath(this.model.getPathToRoot(var2));
  21.    }
  22.  
  23.    void updateTreeForMove(BaseDeclaration var1) {
  24.       Vector var2 = new Vector();
  25.       TreePath var3 = this.getPathForDecl(var1);
  26.       if (((JTree)this).isExpanded(var3)) {
  27.          var2.addElement(var3);
  28.          Enumeration var4 = ((JTree)this).getDescendantToggledPaths(var3);
  29.  
  30.          while(var4.hasMoreElements()) {
  31.             TreePath var5 = (TreePath)var4.nextElement();
  32.             var2.addElement(var5);
  33.          }
  34.       }
  35.  
  36.       this.model.updateTreeForMove(var1);
  37.  
  38.       for(int var6 = 0; var6 < var2.size(); ++var6) {
  39.          TreePath var7 = (TreePath)var2.elementAt(var6);
  40.          ((JTree)this).expandPath(var7);
  41.       }
  42.  
  43.    }
  44.  
  45.    void updateTreeForRemove(BaseDeclaration var1) {
  46.       this.model.updateTreeForRemove(var1);
  47.    }
  48.  
  49.    void updateTreeForInsert(BaseDeclaration var1) {
  50.       this.model.updateTreeForInsert(var1);
  51.    }
  52.  
  53.    void updateTree(boolean var1) {
  54.       Vector var2 = new Vector();
  55.       TreePath var3 = this.getPathForDecl(this.model.getSchemaDoc().getStructure());
  56.       if (var3 != null) {
  57.          Enumeration var4 = ((JTree)this).getDescendantToggledPaths(var3);
  58.  
  59.          while(var4.hasMoreElements()) {
  60.             TreePath var5 = (TreePath)var4.nextElement();
  61.             DefaultMutableTreeNode var6 = (DefaultMutableTreeNode)var5.getLastPathComponent();
  62.             var2.addElement(var6.getUserObject());
  63.          }
  64.       }
  65.  
  66.       this.model.updateTree(var1);
  67.  
  68.       for(int var7 = 0; var7 < var2.size(); ++var7) {
  69.          BaseDeclaration var8 = (BaseDeclaration)var2.elementAt(var7);
  70.          TreePath var9 = this.getPathForDecl(var8);
  71.          if (var9 != null) {
  72.             ((JTree)this).expandPath(var9);
  73.          }
  74.       }
  75.  
  76.    }
  77. }
  78.